package com.kaguya.singleton;

/**
 * 静态内部类的方式实现懒汉模式 推荐使用 缺点是无法传参
 * 1. 类静态属性和静态内部类 在初始化时被加载，保证了线程安全
 * 2. 在静态内部类中，我们进行了实例化，当只有调用getInstance方法时，才会去实例化对象。
 */
public class LazySingletonTest2 {

    // 静态内部类的方式实现懒汉，推荐使用，缺点是不能传参。
    private static class singletonInstance {
        private static final LazySingletonTest2 instance = new LazySingletonTest2();
    }

    // 私有化构造方法
    private LazySingletonTest2() {

    }

    // 暴露实例化方法
    public static LazySingletonTest2 getInstance() {
        return singletonInstance.instance;
    }
}
